Networks operate between a number of computers to transfer information between a provider and a user. However, communications between the providers and users that selectively interact with each other are prone to problems involving hardware, software, and user error. Such problems commonly occur in e-commerce, messaging, application hosting, or knowledge management. Various approaches are used to manage problems in order to minimize the ill-effects of service disruption between Servers and Clients.
One conventional approach to problem management includes the provider providing a “help desk” that may or may not be staffed with a person providing live assistance. This approach requires the user to identify that there is a problem and contact the provider help desk. Once contact is made, the user must describe the problem and provide information to the provider regarding the client's hardware, software, and operating status. Often a user does not know how to identify or to explain what is causing the problem or how to begin going about fixing the problem. This method of problem management requires heavy involvement of time, energy, expense, and even annoyance of both the user and provider as both parties must verbalize the electronic malfunction and solutions.
Another conventional method for problem management is the provider's supplying software updates on CD-ROMS or diskettes that the user can upload onto the system. Providers typically send updates to all known users of using their software. Provider updates by mail, email, or by download is expensive and inefficient as not every user is desirous of the update nor will install it. Further, the user must have some knowledge, time, and effort to successfully install the updates.
Another problem management method known in the art is the provision of software updates in electronic “patches,” or bundles of new computer code, that overwrite or replace improperly functioning code. Patches may be provided on-line through the Internet or in the form of hardware updates discussed above.
Patches are used to preemptively treat specific problems or possible problems manifesting from errors. The implementation of patch computer code may be embedded as an automatic function in the underlying software such that any updates delivered from the provider are automatically incorporated into the user's software program. Alternatively, implementation of patch code requires the user to selectively incorporate the patch computer code. In this instance, the user is notified that a new patch is available, questioned as to whether they would like to download the patch, and then the user is prompted to download the new computer code.
However, there are several limitations related to the use of patch technology. Patches only treat problems already known by the provider. Patches do not address hardware or error specific to a particular user. Further, patches do not provide an immediate fix for those users first encountering problems that lead to the creation of patches; hence, users encounter longer waits for solutions to those problems that is resolved by patches.
In addition to handling individual problems, conventional problem management often involves the collection of information during problem resolution to be used by providers to reduce the impact, recurrence, and to correct the underlying causes of the problems. Providers traditionally compile information gathered from customer service representatives and other customer response mechanisms to mitigate problem occurrence.